home *** CD-ROM | disk | FTP | other *** search
/ Developer CD Series 1992 June: ROMin Holiday / ADC Developer CD (1992-06) (''ROMin Holiday'')_iso / Developer Connection - 06-1992.iso / Developer Essentials / DTS Sample Code / DTS Japan-Sample Code / Gestalt•CODE Resource / sysvGestalt.p < prev    next >
Encoding:
Text File  |  1992-02-05  |  1.2 KB  |  57 lines  |  [TEXT/MPS ]

  1. {
  2.     KT 6.0.7 System 6.0.7 Gestalt Manager Bug fix INIT
  3.  
  4.     Copyright    © 1991 Apple Computer Japan, Inc.
  5.     All rights reserved.
  6.     
  7.     version    1.0        7/12/91        T. Tanaka
  8. }
  9.  
  10. {$Z+}
  11. UNIT    KT607Gestalt;
  12.  
  13. INTERFACE
  14.     USES
  15.         MemTypes, OSIntf, ToolIntf, PasLibIntf, GestaltEqu, Traps;
  16.     CONST
  17.         mySelector        = 'sysv';
  18.         myOldSelector    = 'osyv';
  19.         gstFuncRsrcType = 'GDEF';
  20.         gstFuncRsrcID     = 128;
  21.         _Gestalt        = $A1AD;
  22. {$R-}
  23. {$OV-}
  24. IMPLEMENTATION
  25.     PROCEDURE KT607GestaltINIT;    FORWARD;
  26.     
  27.     PROCEDURE ENTRYPOINT;
  28.     BEGIN
  29.         KT607GestaltINIT;
  30.     END;
  31.     
  32.     PROCEDURE ShowINIT(iconID,moveX:INTEGER);EXTERNAL;
  33.     
  34.     FUNCTION TrapAvailable(tNumber:INTEGER): BOOLEAN;
  35.     BEGIN
  36.         TrapAvailable := GetTrapAddress(tNumber) <> GetTrapAddress(_Unimplemented);
  37.     END;
  38.     
  39.     PROCEDURE KT607GestaltINIT;
  40.     VAR
  41.         gestaltErr:        OSErr;
  42.         gstFuncHandle:    Handle;
  43.         oldGestaltFunc:    ProcPtr;
  44.     BEGIN
  45.         IF TrapAvailable(_Gestalt) THEN BEGIN
  46.             ShowINIT(-4064,36);
  47.             gstFuncHandle := GetResource(gstFuncRsrcType, gstFuncRsrcID);
  48.             IF NOT(gstFuncHandle = NIL) THEN BEGIN
  49.                 DetachResource(gstFuncHandle);
  50.                 gestaltErr := ReplaceGestalt(mySelector,ProcPtr(gstFuncHandle^),oldGestaltFunc);
  51.                 IF gestaltErr = noErr THEN BEGIN
  52.                     gestaltErr := NewGestalt(myOldSelector,oldGestaltFunc);
  53.                 END;
  54.             END;
  55.         END;
  56.     END;
  57. END.